package com.whmskj.xjlhsc.service;

import com.whmskj.xjlhsc.entity.WbPlan;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whmskj.xjlhsc.entity.WbPlanDetal;

import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.util.List;
/**
 * @author lk
 * @since 2025-06-10 08:57:31
 */
public interface WbPlanService extends IService<WbPlan> {

    Page<WbPlan> findPage(WbPlan params);

    List<WbPlan> findList(WbPlan params);

    WbPlan findById(Long id);

    boolean insert(WbPlan wbPlan);

    boolean update(WbPlan wbPlan);

    int delete(Long id);

    /**
     * 添加维保计划
     * @param wbPlan
     * @return
     */
    boolean addWbPlan(WbPlan wbPlan);

    /**
     * 根据Id查询
     * @param id
     * @return
     */
    WbPlan findById_c(Long id);

    /**
     * 编辑维保计划
     * @param wbPlan
     * @return
     */
    boolean update_c(WbPlan wbPlan);

    /**
     * 获取今天需要维保设备列表
     * @param wbPlanId
     * @param nwoDate
     * @return
     */
    List<WbPlanDetal> getDeviceListWithToday(Long wbPlanId, LocalDate nwoDate);

    /**
     * 复制生成下一期计划
     * @param maintenancePlanIds
     */
    void copyGeneratorNext(List<Long> maintenancePlanIds);

    /**
     * 导出
     *
     * @param params
     * @param response
     */
    void export(WbPlan params, HttpServletResponse response);

    /**
     * 删除维保计划
     * @param id
     * @return
     */
    void delete_c(Long id);
}